import os
from pathlib import Path
from loguru import logger

# 获取项目根目录
BASE_DIR = Path(__file__).resolve().parent.parent

# 创建日志目录
log_dir = BASE_DIR / "log"
os.makedirs(log_dir, exist_ok=True)

# 配置全局日志记录器
def setup_logger():
    # 文件日志
    logger.add(
        log_dir / "app_{time:YYYY-MM-DD}.log",
        rotation="00:00",
        retention="7 days",
        encoding="utf-8",
        enqueue=True,
        catch=True,
        level="DEBUG",
        format="{time:YYYY-MM-DD HH:mm:ss} | {level} | {name}:{line} | {message}"
    )
    
    # 控制台日志（可选）
    # logger.add(
    #     lambda msg: print(msg, end=""),
    #     level="INFO",
    #     format="<green>{time:YYYY-MM-DD HH:mm:ss}</green> | <level>{level}</level> | <cyan>{name}</cyan>:<cyan>{line}</cyan> | <level>{message}</level>"
    # )
    
    return logger

# 创建全局日志记录器实例
app_logger = setup_logger()